// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.entity;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fowo.api.common.annotaion.*;
import com.fowo.api.common.mybatis.handlers.SysFileListTypeHandler;
import com.fowo.api.sys.entity.SysFile;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * StockInProduct
 */
@DS("ds24")
@Getter
@Setter
@TableName(value = "stock_in_product", autoResultMap = true)
@Schema(title = "入库单子表")
public class StockInProduct implements Serializable {

  /**
   * 编号
   */
  @TableField(value = "`id`")
  @TableId(type = IdType.ASSIGN_ID)
  @Schema(title = "编号")
  private Long id;

  /**
   * 图片
   */
  @TableField(value = "`img`", typeHandler = SysFileListTypeHandler.class)
  @Schema(title = "图片")
  private List<SysFile> img;

  /**
   * 品名
   */
  @TableField(value = "`product_id`")
  @JoinField(Product.class)
  @Schema(title = "品名")
  private Long productId;

  /**
   * SKU
   */
  @TableField(value = "`sku`")
  @Schema(title = "SKU")
  private String sku;

  /**
   * FNSKU
   */
  @TableField(value = "`fnsku`")
  @JoinField(ListingFather.class)
  @Schema(title = "FNSKU")
  private Long fnsku;

  /**
   * 店铺
   */
  @TableField(value = "`shop_id`")
  @JoinField(ShopInfo.class)
  @Schema(title = "店铺")
  private Long shopId;

  /**
   * 入库量
   */
  @TableField(value = "`unit_stock`")
  @Schema(title = "入库量")
  private Integer unitStock;

  /**
   * 可用数量
   */
  @TableField(value = "`quantity`")
  @Schema(title = "可用数量")
  private Integer quantity;

  /**
   * 次品量
   */
  @TableField(value = "`defective_product`")
  @Schema(title = "次品量")
  private Integer defectiveProduct;

  /**
   * 待检量
   */
  @TableField(value = "`wait_quantity`")
  @Schema(title = "待检量")
  private Integer waitQuantity;

  /**
   * 可用仓位
   */
  @TableField(value = "`positions`")
  @JoinField(WarehouseBin.class)
  @Schema(title = "可用仓位")
  private Long positions;

  /**
   * 上一次单价
   */
  @TableField(value = "`last_unit_price`")
  @Schema(title = "上一次单价")
  private java.math.BigDecimal lastUnitPrice;

  /**
   * 单价（￥）
   */
  @TableField(value = "`unit_price`")
  @Schema(title = "单价（￥）")
  private java.math.BigDecimal unitPrice;

  /**
   * 单位费用（￥）
   */
  @TableField(value = "`unit_cost`")
  @Schema(title = "单位费用（￥）")
  private java.math.BigDecimal unitCost;

  /**
   * 单位头程（￥）
   */
  @TableField(value = "`unit_head`")
  @Schema(title = "单位头程（￥）")
  private java.math.BigDecimal unitHead;

  /**
   * 单位入库成本（￥）
   */
  @TableField(value = "`unit_receipt_cost`")
  @Schema(title = "单位入库成本（￥）")
  private java.math.BigDecimal unitReceiptCost;

  /**
   * 货值（￥）
   */
  @TableField(value = "`product_price`")
  @Schema(title = "货值（￥）")
  private java.math.BigDecimal productPrice;

  /**
   * 费用（￥）
   */
  @TableField(value = "`cost`")
  @Schema(title = "费用（￥）")
  private java.math.BigDecimal cost;

  /**
   * 头程（￥）
   */
  @TableField(value = "`stick_length`")
  @Schema(title = "头程（￥）")
  private java.math.BigDecimal stickLength;

  /**
   * 入库成本（￥）
   */
  @TableField(value = "`arcd`")
  @Schema(title = "入库成本（￥）")
  private java.math.BigDecimal arcd;

  /**
   * 待检量隐
   */
  @TableField(value = "`wait_quantity_hidden`")
  @Schema(title = "待检量隐")
  private Integer waitQuantityHidden;

  /**
   * 上一次成本价格
   */
  @TableField(value = "`last_cost_price`")
  @Schema(title = "上一次成本价格")
  private java.math.BigDecimal lastCostPrice;

  /**
   * 成本价格
   */
  @TableField(value = "`cost_price`")
  @Schema(title = "成本价格")
  private java.math.BigDecimal costPrice;

  /**
   * 主材料单价
   */
  @TableField(value = "`main_unit_price`")
  @Schema(title = "主材料单价")
  private java.math.BigDecimal mainUnitPrice;

  /**
   * 主材料克重
   */
  @TableField(value = "`gram_weight`")
  @Schema(title = "主材料克重")
  private java.math.BigDecimal gramWeight;

  /**
   * 良品量
   */
  @TableField(value = "`good_product`")
  @Schema(title = "良品量")
  private Integer goodProduct;

  /**
   * 工费
   */
  @TableField(value = "`labor_costs`")
  @Schema(title = "工费")
  private java.math.BigDecimal laborCosts;

  /**
   * 辅料
   */
  @TableField(value = "`accessories_price`")
  @Schema(title = "辅料")
  private java.math.BigDecimal accessoriesPrice;

  /**
   * 辅料小计
   */
  @TableField(value = "`accessories_price_amount`")
  @Schema(title = "辅料小计")
  private java.math.BigDecimal accessoriesPriceAmount;

  /**
   * 小计
   */
  @TableField(value = "`subtotal`")
  @Schema(title = "小计")
  private java.math.BigDecimal subtotal;

  /**
   * 产品标签
   */
  @TableField(value = "`product_tag`")
  @Schema(title = "产品标签")
  private String productTag;

  /**
   * 待上架量
   */
  @TableField(value = "`wait_putaway`")
  @Schema(title = "待上架量")
  private Integer waitPutaway;

  /**
   * 快捷入库下推字段
   */
  @TableField(value = "`pushdown_field`")
  @Schema(title = "快捷入库下推字段")
  private Integer pushdownField;

  /**
   * 加工费
   */
  @TableField(value = "`tcrc`")
  @Schema(title = "加工费")
  private java.math.BigDecimal tcrc;

  /**
   * 次品仓位
   */
  @TableField(value = "`defective_product_position`")
  @JoinField(WarehouseBin.class)
  @Schema(title = "次品仓位")
  private Long defectiveProductPosition;

  /**
   * 备注
   */
  @TableField(value = "`remarks`")
  @Schema(title = "备注")
  private String remarks;

  /**
   * 创建时间
   */
  @TableField(value = "`create_time`")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "创建时间")
  private java.util.Date createTime;

  /**
   * 创建人
   */
  @TableField(value = "`create_user`")
  @Schema(title = "创建人")
  private Long createUser;

  /**
   * 所属入库单
   */
  @TableField(value = "`parent_stock_in_id`")
  @JoinField(StockIn.class)
  @Schema(title = "所属入库单")
  private Long parentStockInId;

  /**
   * 更新时间
   */
  @TableField(value = "`last_update_time`")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "更新时间")
  private java.util.Date lastUpdateTime;

  /**
   * 更新人
   */
  @TableField(value = "`last_update_user`")
  @Schema(title = "更新人")
  private Long lastUpdateUser;

  /**
   * 仓库
   */
  @TableField(value = "`warehouse_id`")
  @JoinField(Warehouse.class)
  @Schema(title = "仓库")
  private Long warehouseId;

  /**
   * 删除标记
   */
  @TableField(value = "`del_flag`")
  @TableLogic
  @Schema(title = "删除标记")
  private Boolean delFlag;

  /**
   * 产品名称
   */
  @TableField(value = "`product_name`")
  @Schema(title = "产品名称")
  private String productName;

  /**
   * 店铺名称
   */
  @TableField(value = "`shop_name`")
  @Schema(title = "店铺名称")
  private String shopName;

  /**
   * 操作
   */
  @TableField(value = "`handle`")
  @Schema(title = "操作")
  private String handle;

  /**
   * 仓库名称
   */
  @TableField(value = "`warehouse_name`")
  @Schema(title = "仓库名称")
  private String warehouseName;

  /**
   * 采购单子表id
   */
  @TableField(value = "`purchase_order_product_id`")
  @Schema(title = "采购单子表id")
  private Long purchaseOrderProductId;

  /**
   * 销售价格
   */
  @TableField(value = "`sell_price`")
  @Schema(title = "销售价格")
  private java.math.BigDecimal sellPrice;

  /**
   * 银重
   */
  @TableField(value = "`silver`")
  @Schema(title = "银重")
  private java.math.BigDecimal silver;

  /**
   * 单价成本价
   */
  @TableField(value = "`univalence`")
  @Schema(title = "单价成本价")
  private java.math.BigDecimal univalence;

  /**
   * 辅料
   */
  @TableField(value = "`ingredients`")
  @Schema(title = "辅料")
  private String ingredients;

  /**
   * 领星价格
   */
  @TableField(value = "`lx_price`")
  @Schema(title = "领星价格")
  private java.math.BigDecimal lxPrice;

  /**
   * 领星价格合计
   */
  @TableField(value = "`lx_total_price`")
  @Schema(title = "领星价格合计")
  private java.math.BigDecimal lxTotalPrice;

  /**
   * 领星fnsku
   */
  @TableField(value = "`lx_fnsku`")
  @Schema(title = "领星fnsku")
  private String lxFnsku;

  /**
   * 损耗%
   */
  @TableField(value = "`materialloss`")
  @Schema(title = "损耗%")
  private java.math.BigDecimal materialloss;

  /**
   * 包装
   */
  @TableField(value = "`materialpack`")
  @Schema(title = "包装")
  private java.math.BigDecimal materialpack;

  /**
   * ERP价格
   */
  @TableField(value = "`erpprice`")
  @Schema(title = "ERP价格")
  private java.math.BigDecimal erpprice;

  /**
   * 收货单子表id
   */
  @TableField(value = "`receipt_product_id`")
  @Schema(title = "收货单子表id")
  private Long receiptProductId;
}
